# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Death Road to Canada Template

game: Death Road to Canada
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Death Road to Canada:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  goal_modes:
    # Which game mode victories count as completing the game.
    # You must reach Canada in ALL of the selected modes to complete your goal.
    # At least one mode must be selected.
    # 
    # Available modes:
    #   normal, familiar, rare, short, long, 4jerks, deadlier,
    #   familiarEX, rareEX, marathon, kepa, 4jerksEX, endless,
    #   opp, quickdeath, infection, weather, rpg, scepter,
    #   mutation, infectionEX
    # 
    # Example:
    #   goal_modes:
    #     - normal
    #     - deadlier
    ['normal']

  enabled_modes:
    # Which game modes generate per-mode locations (days reached, victory).
    # Only modes in this list will have their progression tracked as locations.
    # Goal modes are always enabled regardless of this setting.
    # More enabled modes = higher milestone caps become accessible.
    # 
    # Available modes:
    #   normal, familiar, rare, short, long, 4jerks, deadlier,
    #   familiarEX, rareEX, marathon, kepa, 4jerksEX, endless,
    #   opp, quickdeath, infection, weather, rpg, scepter,
    #   mutation, infectionEX
    # 
    # Mode day lengths:
    #   - 7 days: infectionEX
    #   - 9 days: short, quickdeath
    #   - 10 days: infection
    #   - 12 days: scepter
    #   - 15 days: normal, familiar, rare, 4jerks, deadlier, familiarEX,
    #              rareEX, kepa, 4jerksEX, opp, weather, rpg, mutation
    #   - 25 days: long
    #   - 30 days: marathon, endless
    # 
    # Example:
    #   enabled_modes:
    #     - normal
    #     - familiar
    #     - deadlier
    ['normal']

  max_days_per_mode:
    # Maximum number of day locations to generate per enabled mode.
    # Higher values = more locations but longer games.
    # 
    # Note: This is capped by each mode's actual day length:
    #   - Short/Quick Death: 9 days max
    #   - Infection: 10 days max
    #   - Scepter: 12 days max
    #   - Most modes: 15 days max
    #   - Long Road: 25 days max
    #   - Marathon/Endless: 30 days max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 30
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-30: 0 # random value between 1 and 30

  include_day_start:
    # Include per-mode Day Start locations.
    # Creates a location for starting each day in each enabled mode.
    # 
    # Example: [Normal] Day 1 Start, [Normal] Day 2 Start, etc.
    'false': 50
    'true': 0

  include_day_clear:
    # Include per-mode Day Clear locations.
    # Creates a location for completing/surviving each day in each enabled mode.
    # 
    # Example: [Normal] Day 1 Clear, [Normal] Day 2 Clear, etc.
    'false': 50
    'true': 0

  include_global_day_start:
    # Include global Day Start locations (shared across all modes).
    # These trigger when you start a new day in ANY mode.
    # 
    # Example: Day 1 Start, Day 2 Start, etc.
    # 
    # Note: Only one check per day number, regardless of mode.
    'false': 50
    'true': 0

  include_global_day_clear:
    # Include global Day Clear locations (shared across all modes).
    # These trigger when you complete a day in ANY mode.
    # 
    # Example: Day 1 Clear, Day 2 Clear, etc.
    # 
    # Note: Only one check per day number, regardless of mode.
    'false': 50
    'true': 0

  location_visited_max:
    # Maximum locations visited milestone. Set to 0 to disable.
    # Tracks how many map locations you've explored.
    # 
    # Scaling: Base 20 + 15 per additional enabled mode.
    #   1 mode  = 20 max    |  5 modes  = 80 max
    #   10 modes = 155 max  |  21 modes = 320 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 320
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-320: 0 # random value between 0 and 320

  location_visited_interval:
    # Interval between locations visited milestone locations.
    every_1: 0
    every_5: 50
    every_10: 0

  kill_milestone_max:
    # Maximum kill milestone. Locations are generated at intervals up to this value.
    # Set to 0 to disable kill milestones.
    # 
    # Intervals: 50-1000 uses 50-kill steps, 1100+ uses 100-kill steps.
    # 
    # Scaling: Base 1000 + 500 per additional enabled mode.
    #   1 mode  = 1,000 max    |  5 modes  = 3,000 max
    #   10 modes = 5,500 max   |  21 modes = 11,000 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 11000
    1000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-11000: 0 # random value between 0 and 11000

  kill_milestone_interval:
    # Interval between kill milestone locations.
    # 
    # Example with max 500:
    #   every_50  = 10 locations (50, 100, 150... 500)
    #   every_100 = 5 locations (100, 200, 300, 400, 500)
    #   every_250 = 2 locations (250, 500)
    every_50: 50
    every_100: 0
    every_250: 0

  container_milestone_max:
    # Maximum container milestone. Set to 0 to disable.
    # 
    # Scaling: Base 80 + 40 per additional enabled mode.
    #   1 mode  = 80 max     |  5 modes  = 240 max
    #   10 modes = 440 max   |  21 modes = 880 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 880
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-880: 0 # random value between 0 and 880

  container_milestone_interval:
    # Interval between container milestone locations.
    # 
    # Example with max 100:
    #   every_1  = 100 locations
    #   every_5  = 20 locations
    #   every_10 = 10 locations
    #   every_25 = 4 locations
    every_1: 0
    every_5: 0
    every_10: 50
    every_25: 0

  toilet_milestone_max:
    # Maximum toilet milestone. Set to 0 to disable.
    # 
    # Scaling: Base 10 + 5 per additional enabled mode.
    #   1 mode  = 10 max    |  5 modes  = 30 max
    #   10 modes = 55 max   |  21 modes = 110 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 110
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-110: 0 # random value between 0 and 110

  toilet_milestone_interval:
    # Interval between toilet milestone locations.
    every_1: 0
    every_5: 50

  siege_milestone_max:
    # Maximum siege survival milestone. Set to 0 to disable.
    # Sieges are random events where zombies attack your camp at night.
    # 
    # Scaling: Base 5 + 3 per additional enabled mode.
    #   1 mode  = 5 max     |  5 modes  = 17 max
    #   10 modes = 32 max   |  21 modes = 65 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 65
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-65: 0 # random value between 0 and 65

  siege_milestone_interval:
    # Interval between siege milestone locations.
    every_1: 50
    every_2: 0
    every_5: 0

  recruit_milestone_max:
    # Maximum recruit milestone. Set to 0 to disable.
    # Tracks how many characters you've recruited to your party.
    # 
    # Scaling: Base 5 + 3 per additional enabled mode.
    #   1 mode  = 5 max     |  5 modes  = 17 max
    #   10 modes = 32 max   |  21 modes = 65 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 65
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-65: 0 # random value between 0 and 65

  recruit_milestone_interval:
    # Interval between recruit milestone locations.
    every_1: 50
    every_2: 0
    every_5: 0

  weapon_milestone_max:
    # Maximum weapon collection milestone. Set to 0 to disable.
    # Tracks total weapons picked up (cumulative across runs).
    # 
    # Scaling: Base 20 + 10 per additional enabled mode.
    #   1 mode  = 20 max    |  5 modes  = 60 max
    #   10 modes = 110 max  |  21 modes = 220 max
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 220
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-220: 0 # random value between 0 and 220

  weapon_milestone_interval:
    # Interval between weapon milestone locations.
    every_1: 0
    every_5: 50
    every_10: 0

  include_weapon_categories:
    # Include weapon category discovery locations.
    # These trigger when you find your first weapon of each type.
    # 
    # Categories (13 total):
    #   Found Handgun, Found Rifle, Found Shotgun, Found Blade,
    #   Found Explosive, Found Heavy Weapon, Found Blunt Weapon,
    #   Found Flamethrower, Found Minigun, Found AK-47,
    #   Found Sledgehammer, Found Fire Axe, Found Bow
    'false': 50
    'true': 0

  mode_unlocks_in_pool:
    # Include game mode unlocks as items in the randomizer pool.
    # 
    # When ON (default):
    #   - All modes except Normal start LOCKED
    #   - You must receive mode unlock items to play other modes
    #   - Adds progression items to the pool
    # 
    # When OFF:
    #   - All enabled modes are available from the start
    #   - No mode unlock items in the pool
    'false': 0
    'true': 50

  trap_percentage:
    # Percentage of filler items that become traps.
    # 
    # Traps include:
    #   Food Spoiled, Morale Crisis, Ambush, Gas Leak, Weapon Jam,
    #   Thief, Injury, Car Damage, Argument, Bandits, Bad Omen,
    #   Bad Weather, Gear Lost, Food Poison, False Hope, Pandora's Box
    # 
    # 0 = No traps, 100 = All filler becomes traps
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
